package com.efast.dmom.mgmt.entity.mes;

import java.io.Serializable;
import java.util.Date;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;

import org.springframework.format.annotation.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "twBasWorkOrder", propOrder = {
		"orderId",
		"inputQty",
		"planStartTime",
		"finishedQty",
		"scrapedQty",
		"closedUsername",
		"source",
		"planFinishTime",
		"orderedQty",
		"startedUsername",
		"orderType",
		"closeReason",
		"comments",
		"startedTime",
		"closedTime",
		"priority",
		"repairedQty",
		"partNo",
		"salesOrder",
		"partRevision",
		"closedQty",
		"markStatus",
		"lineName",
		"customer",
		"orderNumber",
		"partNoVersion",
		"lineId",
		"hasSonOrder",
		"companyCode",
		"createTime",
		"createUser",
		"lastUpdateTime",
		"lastUpdateUser",
		"optCounter",
		"status",
		"parentOrderId"
})
public class TwBasWorkOrderWebService implements Serializable{
	@XmlElement(name = "orderId", required = true)
    private Integer orderId;//id
	@XmlElement(name = "inputQty", required = true)
    private Double inputQty;//投入数量
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    		@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") 
    @XmlElement(name = "planStartTime", required = true)
    private Date planStartTime;//计划开始时间
    @XmlElement(name = "finishedQty", required = true)
    private Double finishedQty;//完成数量
    @XmlElement(name = "orderNumber", required = true)
    private String orderNumber;//工单号
    @XmlElement(name = "scrapedQty", required = true)
    private Double scrapedQty;//报废数量
    @XmlElement(name = "closedUsername", required = true)
    private String closedUsername;//执行订单关闭的用户
    @XmlElement(name = "source", required = true)
    private String source;//工单来源,系统创建，还是外部导入(manual, import)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    		@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") 
    @XmlElement(name = "planFinishTime", required = true)
    private Date planFinishTime;//计划完成时间
    @XmlElement(name = "orderedQty", required = true)
    private Double orderedQty;//计划数量
    @XmlElement(name = "startedUsername", required = true)
    private String startedUsername;//执行订单开始的用户
    @XmlElement(name = "parentOrderId", required = true)
    private Integer parentOrderId;//父工单id
    @XmlElement(name = "orderType", required = true)
    private String orderType;//工单类型(normal-正常; trial-试制)
    @XmlElement(name = "closeReason", required = true)
    private 	String closeReason;//关闭原因
    @XmlElement(name = "comments", required = true)
    private String comments;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
		@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") 
    @XmlElement(name = "startedTime", required = true)
    private Date startedTime;//订单开始时间
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
		@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") 
    @XmlElement(name = "closedTime", required = true)
    private Date closedTime;//关闭时间
    @XmlElement(name = "priority", required = true)
    private String priority;//优先级类型(normal,urgent)
    @XmlElement(name = "repairedQty", required = true)
    private Double repairedQty;//维修数量
    @XmlElement(name = "partNo", required = true)
    private String partNo;//成品partno.
    @XmlElement(name = "salesOrder", required = true)
    private String salesOrder;//销售订单
    @XmlElement(name = "partRevision", required = true)
    private String partRevision;//成品part revision
    @XmlElement(name = "status", required = true)
    private String status;//状态(created,planned,released,started,closed)
    @XmlElement(name = "closedQty", required = true)
    private Double closedQty;//关闭数量
    @XmlElement(name = "markStatus", required = true)
    private Integer markStatus;//是否激活
    @XmlElement(name = "createTime", required = true)
    private Date createTime;//创建时间
    @XmlElement(name = "createUser", required = true)
    private String createUser;//创建用户
    @XmlElement(name = "lastUpdateTime", required = true)
    private Date lastUpdateTime;//上次更新时间
    @XmlElement(name = "lastUpdateUser", required = true)
    private String lastUpdateUser;//更改用户
    @XmlElement(name = "optCounter", required = true)
    private Integer optCounter;//版本控制
    @XmlElement(name = "companyCode", required = true)
    private String companyCode;//企业代码
    @XmlElement(name = "hasSonOrder", required = true)
    private Integer hasSonOrder;//是否拥有子单据
    @XmlElement(name = "lineId", required = true)
    private Integer lineId;//产线Id
    @XmlElement(name = "lineName", required = true)
    private String lineName;//产线名称
    @XmlElement(name = "partNoVersion", required = true)
    private String partNoVersion;//零件
    @XmlElement(name = "customer", required = true)
    private String customer; //客户
    
    public TwBasWorkOrderWebService() {
        super();
    }
    public TwBasWorkOrderWebService(Integer orderId,Double inputQty,java.util.Date planStartTime,Integer optCounter,Double finishedQty,
    		String orderNumber,Double scrapedQty,String closedUsername,String source,Date planFinishTime,Double orderedQty,
    		String startedUsername,String companyCode,Integer parentOrderId,String orderType,String comments,
    		java.util.Date createTime,java.util.Date startedTime,java.util.Date closedTime,String priority,
    		Double repairedQty,Integer markStatus,String partNo,java.util.Date lastUpdateTime,
    		String lastUpdateUser,String salesOrder,String createUser,String partRevision,String status,Double closedQty,
    		String closeReason,Integer hasSonOrder,Integer lineId,String lineName,String partNoVersion) {
        super();
        this.orderId = orderId;
        this.inputQty = inputQty;
        this.planStartTime = planStartTime;
        this.optCounter = optCounter;
        this.finishedQty = finishedQty;
        this.orderNumber = orderNumber;
        this.scrapedQty = scrapedQty;
        this.closedUsername = closedUsername;
        this.source = source;
        this.planFinishTime = planFinishTime;
        this.orderedQty = orderedQty;
        this.startedUsername = startedUsername;
        this.companyCode = companyCode;
        this.parentOrderId = parentOrderId;
        this.orderType = orderType;
        this.comments = comments;
        this.createTime = createTime;
        this.startedTime = startedTime;
        this.closedTime = closedTime;
        this.priority = priority;
        this.repairedQty = repairedQty;
        this.markStatus = markStatus;
        this.partNo = partNo;
        this.lastUpdateTime = lastUpdateTime;
        this.lastUpdateUser = lastUpdateUser;
        this.salesOrder = salesOrder;
        this.createUser = createUser;
        this.partRevision = partRevision;
        this.status = status;
        this.closedQty = closedQty;
        this.closeReason = closeReason;
        this.hasSonOrder = hasSonOrder;
        this.lineId = lineId;
        this.lineName = lineName;
        this.partNoVersion = partNoVersion;
    }
    
    public Integer getOrderId() {
        return this.orderId;
    }

    public void setOrderId(Integer orderId) {
        this.orderId = orderId;
    }

    public Double getInputQty() {
        return this.inputQty;
    }

    public void setInputQty(Double inputQty) {
        this.inputQty = inputQty;
    }

    public java.util.Date getPlanStartTime() {
        return this.planStartTime;
    }

    public void setPlanStartTime(java.util.Date planStartTime) {
        this.planStartTime = planStartTime;
    }

    public Integer getOptCounter() {
        return this.optCounter;
    }

    public void setOptCounter(Integer optCounter) {
        this.optCounter = optCounter;
    }

    public Double getFinishedQty() {
        return this.finishedQty;
    }

    public void setFinishedQty(Double finishedQty) {
        this.finishedQty = finishedQty;
    }

    public String getOrderNumber() {
        return this.orderNumber;
    }

    public void setOrderNumber(String orderNumber) {
        this.orderNumber = orderNumber;
    }

    public Double getScrapedQty() {
        return this.scrapedQty;
    }

    public void setScrapedQty(Double scrapedQty) {
        this.scrapedQty = scrapedQty;
    }

    public String getClosedUsername() {
        return this.closedUsername;
    }

    public void setClosedUsername(String closedUsername) {
        this.closedUsername = closedUsername;
    }

    public String getSource() {
        return this.source;
    }

    public void setSource(String source) {
        this.source = source;
    }

    public Date getPlanFinishTime() {
        return this.planFinishTime;
    }

    public void setPlanFinishTime(Date planFinishTime) {
        this.planFinishTime = planFinishTime;
    }

    public Double getOrderedQty() {
        return this.orderedQty;
    }

    public void setOrderedQty(Double orderedQty) {
        this.orderedQty = orderedQty;
    }

    public String getStartedUsername() {
        return this.startedUsername;
    }

    public void setStartedUsername(String startedUsername) {
        this.startedUsername = startedUsername;
    }

    public String getCompanyCode() {
        return this.companyCode;
    }

    public void setCompanyCode(String companyCode) {
        this.companyCode = companyCode;
    }

    public Integer getParentOrderId() {
        return this.parentOrderId;
    }

    public void setParentOrderId(Integer parentOrderId) {
        this.parentOrderId = parentOrderId;
    }

    public String getOrderType() {
        return this.orderType;
    }

    public void setOrderType(String orderType) {
        this.orderType = orderType;
    }

    public String getComments() {
        return this.comments;
    }

    public void setComments(String comments) {
        this.comments = comments;
    }

    public java.util.Date getCreateTime() {
        return this.createTime;
    }

    public void setCreateTime(java.util.Date createTime) {
        this.createTime = createTime;
    }

    public java.util.Date getStartedTime() {
        return this.startedTime;
    }

    public void setStartedTime(java.util.Date startedTime) {
        this.startedTime = startedTime;
    }

    public java.util.Date getClosedTime() {
        return this.closedTime;
    }

    public void setClosedTime(java.util.Date closedTime) {
        this.closedTime = closedTime;
    }

    public String getPriority() {
        return this.priority;
    }

    public void setPriority(String priority) {
        this.priority = priority;
    }

    public Double getRepairedQty() {
        return this.repairedQty;
    }

    public void setRepairedQty(Double repairedQty) {
        this.repairedQty = repairedQty;
    }

    public Integer getMarkStatus() {
        return this.markStatus;
    }

    public void setMarkStatus(Integer markStatus) {
        this.markStatus = markStatus;
    }

    public String getPartNo() {
        return this.partNo;
    }

    public void setPartNo(String partNo) {
        this.partNo = partNo;
    }

    public java.util.Date getLastUpdateTime() {
        return this.lastUpdateTime;
    }

    public void setLastUpdateTime(java.util.Date lastUpdateTime) {
        this.lastUpdateTime = lastUpdateTime;
    }

    public String getLastUpdateUser() {
        return this.lastUpdateUser;
    }

    public void setLastUpdateUser(String lastUpdateUser) {
        this.lastUpdateUser = lastUpdateUser;
    }

    public String getSalesOrder() {
        return this.salesOrder;
    }

    public void setSalesOrder(String salesOrder) {
        this.salesOrder = salesOrder;
    }

    public String getCreateUser() {
        return this.createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    public String getPartRevision() {
        return this.partRevision;
    }

    public void setPartRevision(String partRevision) {
        this.partRevision = partRevision;
    }

    public String getStatus() {
        return this.status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Double getClosedQty() {
        return this.closedQty;
    }

    public void setClosedQty(Double closedQty) {
        this.closedQty = closedQty;
    }
	public String getCloseReason() {
		return closeReason;
	}
	public void setCloseReason(String closeReason) {
		this.closeReason = closeReason;
	}
	public Integer getHasSonOrder() {
		return hasSonOrder;
	}
	public void setHasSonOrder(Integer hasSonOrder) {
		this.hasSonOrder = hasSonOrder;
	}
	public Integer getLineId() {
		return lineId;
	}
	public void setLineId(Integer lineId) {
		this.lineId = lineId;
	}
	public String getLineName() {
		return lineName;
	}
	public void setLineName(String lineName) {
		this.lineName = lineName;
	}
	public String getPartNoVersion() {
		return partNoVersion;
	}
	public void setPartNoVersion(String partNoVersion) {
		this.partNoVersion = partNoVersion;
	}
	public String getCustomer() {
		return customer;
	}
	public void setCustomer(String customer) {
		this.customer = customer;
	}

}
